$(function () {
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    //关闭对话框
    $("#Cancel").click(function () {
        Note.close();
    });
    //上传新建note
    $("#upEnsure").click(function () {
        Note.upSubmit();
    });
    //提交新建note
    $("#addEnsure").click(function () {
        Note.addSubmit();
    });
    //提交编辑note
    $("#editEnsure").click(function () {
        Note.editSubmit();
    });
    //选择分组下拉框
    $("#groupsSelect_2").mousedown(function () {
        var groupsSelect_2Obj = $("#groupsSelect_2");
        var groupsSelect_2Offset = $("#groupsSelect_2").offset();
        $("#groupsTreeAdd_2").css({
            left: groupsSelect_2Offset.left + "px",
            top: groupsSelect_2Offset.top + groupsSelect_2Obj.outerHeight() + "px"
        }).slideDown("fast");
    });
    //点击其他地方隐藏分组下拉框
    $("body").mousedown(function (event) {
        if (!(event.target.id == "groupsSelect_2" || $(event.target).parents("#groupsTreeAdd_2").length > 0)) {
            Note.hideGroupsTree();
        }
    });
    //点击其他地方隐藏 系列 下拉框
    $("body").mousedown(function (event) {
        if (!(event.target.id == "seriesSelect_2" || $(event.target).parents("#seriesSelectDiv2").length > 0)) {
            Note.hideSeries();
        }
    });

    //初始化选择的树
    var setting = {
        async: {
            enable: true,
            url: projectName+"/groups/getTree",
            autoParam: ["id"]
        },
        data: {
            key: {
                name: "groupName",
            }
        },
        callback: {
            onClick: Note.onClickGroups,
        }
    };
    zTreeObj = $.fn.zTree.init($("#groupsTree"), setting);
    instance = zTreeObj;

    //选择系列下拉框
    $("#seriesSelect_2").mousedown(function () {
        var groupsSelect_2Obj = $("#seriesSelect_2");
        var groupsSelect_2Offset = $("#seriesSelect_2").offset();
        $("#seriesSelectDiv2").css({
            left: groupsSelect_2Offset.left + "px",
            top: groupsSelect_2Offset.top + groupsSelect_2Obj.outerHeight() + "px"
        }).slideDown("fast");
        Note.showSeries();
    });

    //选择系列下拉框 系列填入值
    $("#seriesSelectDiv2").on("click",".seriesLeftA2",function () {
        $("#seriesSelect_2").attr("value", this.innerText.trim());
        $("#seriesId").attr("value", $(this).attr("id"));
        Note.hideSeries();
    });
    //选择系列下拉框 系列清空值
    $("#seriesSelectDiv2").on("click","#deleteSeriesInput",function () {
        $("#seriesSelect_2").attr("value", "");
        $("#seriesId").attr("value","");
        Note.hideSeries();
    });
    if($("#note_select_label").length > 0){
        Note.LabelAllInit();
        Note.LabelSelectedInit($("#noteId").val());
        //点击up标签 给note添加标签
        $(".insertLabelList").on("click",".labelRightAUp",function () {
            var labelIds = new Array;
            labelIds.push($(this).next().text());
            $.ajax({
                type:'post',
                // contentType:'application/json',
                traditional:true,
                dataType:'json',
                data:{"noteId":$("#noteId").val(),"labelIds":labelIds},
                url:projectName+'/note/addLabelToNote',
                success:function (data) {
                    Note.LabelSelectedInit($("#noteId").val());
                }
            })
        });
        //点击del标签 给note删除标签
        $(".selectedLabelList").on("click",".labelSelectDelete",function () {
            var labelIds = new Array;
            labelIds.push($(this).next().text());
            $.ajax({
                type:'post',
                // contentType:'application/json',
                traditional:true,
                dataType:'json',
                data:{"noteId":$("#noteId").val(),"labelIds":labelIds},
                url:projectName+'/note/delLabelFromNote',
                success:function (data) {
                    Note.LabelSelectedInit($("#noteId").val());
                }
            })
        });
    }
    //搜索Label
    $("#labelSearch").click(function () {
        var reqData = JSON.stringify({"labelName":$("#labelSearchValue").val()})
        $(".labelDiv").empty();
        $.ajax({
            type:'post',
            contentType:'application/json',
            dataType:'json',
            url:projectName+'/label/getLikeLabelByPage',
            data:reqData,
            success:function (data) {
                Note.insertLabel(data);
                $(".page-label").pagination({
                    pageCount: data.data.pages,//总页数（默认值：9）
                    // totalData:,//数据总条数（默认值：0）
                    showData:2,//每页展示条数（默认值：0）
                    // current:1,//当前第几页（默认值：1）
                    // prevCls:,//上一页class样式（默认值：'prev'）
                    // nextCls:,//下一页class样式（默认值：'next'）
                    // prevContent:,//上一页节点内容（默认值：'<'）
                    // nextContent:"下一页",//下一页节点内容（默认值：'>'）
                    // activeCls:,//当前选中样式（默认值：'active'）
                    // count:,//当前页前后页数（默认值：3）
                    coping:true,//是否开启首页尾页（默认值：false）
                    // homePage:,//首页节点内容（默认值：1）
                    // endPage:,//尾页节点内容（默认值：当前最大页数）
                    callback: function(e) {
                        $.ajax({
                            type:'post',
                            contentType:'application/json',
                            dataType:'json',
                            data:JSON.stringify({}),
                            url:projectName+'/label/getListByPage?currentPage='+e.getCurrent(),
                            success:function (data) {
                                Note.insertLabel(data);
                            }
                        })
                    }
                });
            }
        })
    });

    //选择文件类型下拉框
    $("#typeSelect_2").mousedown(function () {
        var groupsSelect_2Obj = $("#typeSelect_2");
        var groupsSelect_2Offset = $("#typeSelect_2").offset();
        $("#typeSelectDiv2").css({
            left: groupsSelect_2Offset.left + "px",
            top: groupsSelect_2Offset.top + groupsSelect_2Obj.outerHeight() + "px"
        }).slideDown("fast");
        Note.showType();
    });
    //点击其他地方隐藏 文件类型 下拉框
    $("body").mousedown(function (event) {
        if (!(event.target.id == "typeSelect_2" || $(event.target).parents("#typeSelect_2").length > 0)) {
            Note.hideType();
        }
    });
    //选择文件类型下拉框 文件类型填入值
    $("#typeSelectDiv2").on("click",".typeLeftA2",function () {
        $("#typeSelect_2").attr("value", this.innerText.trim());
        $("#typeId").attr("value", $(this).attr("id"));
        Note.hideType();
    });

    //选择CSS后提交渲染
    $(".selectedHtmlCssDiv").on("click",".selectedHtmlCss",function () {
        $.ajax({
            type:'post',
            traditional:true,
            dataType:'json',
            url:projectName+"/editNoteToHtml",
            data: {"noteId":$("#noteId").val(),"cssName":$(this).text()},
            success:function (data) {
                if(data.success){
                    Feng.success(data.msg||"渲染成功!");
                } else {
                    Feng.error(data.msg||"渲染失败!");
                }
            }
        })
        Note.close();
    });

});

var Note = {
    reqData:{},
    tipTime : 1500,
}

//关闭此对话框
Note.close = function () {
    parent.layer.close(window.parent.Note.layerIndex);
}
//点击分组树，填输入框
Note.onClickGroups = function (e, treeId, treeNode) {
    $("#groupsSelect_2").attr("value", treeNode.groupName);
    $("#groupId").attr("value", treeNode.id);
    Note.hideGroupsTree();
}
//隐藏选择分组的树
Note.hideGroupsTree = function () {
    $("#groupsTreeAdd_2").fadeOut("fast");
};
//显示系列
Note.showSeries = function () {
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    $.ajax({
        type:'post',
        contentType:'application/json',
        dataType:'json',
        url:projectName+'/series/getListByPage',
        data:JSON.stringify({}),
        success:function (data) {
            Note.insertSeries(data);
            $(".page-label3").pagination({
                pageCount: data.data.pages,//总页数（默认值：9）
                // totalData:,//数据总条数（默认值：0）
                showData:2,//每页展示条数（默认值：0）
                // current:1,//当前第几页（默认值：1）
                // prevCls:,//上一页class样式（默认值：'prev'）
                // nextCls:,//下一页class样式（默认值：'next'）
                // prevContent:,//上一页节点内容（默认值：'<'）
                // nextContent:"下一页",//下一页节点内容（默认值：'>'）
                // activeCls:,//当前选中样式（默认值：'active'）
                // count:,//当前页前后页数（默认值：3）
                coping:true,//是否开启首页尾页（默认值：false）
                // homePage:,//首页节点内容（默认值：1）
                // endPage:,//尾页节点内容（默认值：当前最大页数）
                callback: function(e) {
                    $.ajax({
                        type:'post',
                        contentType:'application/json',
                        dataType:'json',
                        data:JSON.stringify({}),
                        url:projectName+'/series/getListByPage?currentPage='+e.getCurrent(),
                        success:function (data) {
                            Note.insertSeries(data);
                        }
                    })
                }
            });
        }
    })
};

//隐藏选择系列
Note.hideSeries = function () {
    $("#seriesSelectDiv2").fadeOut("fast");
};
//上传新建note
Note.upSubmit = function () {
    var temFile = document.getElementById('upOneFile');
    var fileObj = temFile.files[0];
    var formData = new FormData();
    if(fileObj == null){
        Feng.error("请先选择文件!");
    }else{
        formData.append('multipartfile', fileObj);
        formData.append("noteNote",$("#seriesNote").val());
        formData.append("groupId",$("#groupId").val());
        formData.append("seriesId",$("#seriesId").val());
        formData.append("typeSuffix",$("#typeSelect_2").val());
        formData.append("typeId",$("#typeId").val());
        var pathName=window.document.location.pathname;
        var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
        $.ajax({
            type:'post',
            dataType:'json',
            url:projectName+'/note/upOne',
            data: formData,
            async: false,
            cache: false,
            contentType: false,
            processData: false,
            success:function (data) {
                if(data.success){
                    Note.close();
                    Feng.success(data.msg||"上传成功!");
                } else {
                    Feng.error(data.msg||"上传失败!");
                }
            }
        })
    }
}
//提交新建note
Note.addSubmit = function () {
    this.clearData();
    this.collectData();
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    $.ajax({
        type:'post',
        contentType:'application/json',
        dataType:'json',
        url:projectName+'/note/addOne',
        data:JSON.stringify(this.reqData),
        success:function (data) {
            if(data.success){
                Note.close();
                Feng.success(data.msg||"添加成功!");
            } else {
                Feng.error(data.msg||"添加失败!");
            }
        }
    })
}
//提交编辑
Note.editSubmit = function () {
    this.clearData();
    this.collectData();
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    $.ajax({
        type:'post',
        contentType:'application/json',
        dataType:'json',
        url:projectName+'/note/editOne',
        data:JSON.stringify(this.reqData),
        success:function (data) {
            if(data.success){
                Note.close();
                Feng.success(data.msg||"修改成功!");
            } else {
                Feng.error(data.msg||"修改失败!");
            }
        }
    })
}
//清除数据
Note.clearData = function () {
    this.reqData = {};
}
//收集数据
Note.collectData = function () {
    this.set('noteTitle').set('noteId','id').set('groupId').set('seriesId').set('seriesNote','note').set('typeId').set('typeSelect_2','typeSuffix');
}
//收集数据--按照id,第一个参数是input的id，第二个若没有第一个参数必须是实体的属性名，若有则为实体的属性名，即input的id可以随意起名
Note.set = function (key,modelKey,value) {
    if(typeof value == "undefined"){
        if(typeof $("#" + key).val() =="undefined"){
            var str="";
            var ids="";
            $("input[name='"+key+"']:checkbox").each(function(){
                if(true == $(this).is(':checked')){
                    str+=$(this).val()+",";
                }
            });
            if(str){
                if(str.substr(str.length-1)== ','){
                    ids = str.substr(0,str.length-1);
                }
            }else{
                $("input[name='"+key+"']:radio").each(function(){
                    if(true == $(this).is(':checked')){
                        ids=$(this).val()
                    }
                });
            }
            if(typeof modelKey == "undefined"){
                this.reqData[key] = ids;
            }else {
                this.reqData[modelKey] = ids;
            }
        }else{
            if(typeof modelKey == "undefined"){
                this.reqData[key]= $("#" + key).val();
            }else {
                this.reqData[modelKey] = $("#" + key).val();
            }
        }
    }
    return this;
}
//插入系列HTML
Note.insertSeries = function (data) {
    $("#seriesInsertDiv2").empty();
    for(var index in data.data.list){
        $("#seriesInsertDiv2").append("<div class='seriesLeftDiv'style='color:"+data.data.list[index].seriesFontColor+";border: 1px solid "+data.data.list[index].seriesSolidColor+";float: left'><a class='seriesLeftA2' style='color:"+data.data.list[index].seriesFontColor+";float: left' id='"+data.data.list[index].id+"'>"+data.data.list[index].seriesName+"</a><div style='text-align:center;'></div></div>")
    }
};

//-------------------------------------
//初始化label列表
Note.LabelAllInit = function () {
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    $.ajax({
        type:'post',
        contentType:'application/json',
        dataType:'json',
        url:projectName+'/label/getListByPage',
        data:JSON.stringify({}),
        success:function (data) {
            Note.insertLabel(data);
            $(".page-label").pagination({
                pageCount: data.data.pages,//总页数（默认值：9）
                // totalData:,//数据总条数（默认值：0）
                showData:2,//每页展示条数（默认值：0）
                // current:1,//当前第几页（默认值：1）
                // prevCls:,//上一页class样式（默认值：'prev'）
                // nextCls:,//下一页class样式（默认值：'next'）
                // prevContent:,//上一页节点内容（默认值：'<'）
                // nextContent:"下一页",//下一页节点内容（默认值：'>'）
                // activeCls:,//当前选中样式（默认值：'active'）
                // count:,//当前页前后页数（默认值：3）
                coping:true,//是否开启首页尾页（默认值：false）
                // homePage:,//首页节点内容（默认值：1）
                // endPage:,//尾页节点内容（默认值：当前最大页数）
                callback: function(e) {
                    $.ajax({
                        type:'post',
                        contentType:'application/json',
                        dataType:'json',
                        data:JSON.stringify({}),
                        url:projectName+'/label/getListByPage?currentPage='+e.getCurrent(),
                        success:function (data) {
                            Note.insertLabel(data);
                        }
                    })
                }
            });
        }
    })
};
//初始化已选label列表
Note.LabelSelectedInit = function (data) {
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    $.ajax({
        type:'post',
        // contentType:'application/json',
        dataType:'json',
        traditional:true,
        url:projectName+'/note/getAllLabelInNote',
        data:{"noteId":data},
        success:function (data) {
            if(data.success){
                Note.insertSelectedLabel(data);
            }else {
                Feng.error(data.msg || "查询已选标签出错!")
            }
        }
    })
};
//动态插入label列表
Note.insertLabel = function (data) {
    $(".insertLabelList").empty();
    for(var index in data.data.list){
        $(".insertLabelList").append("<div class='labelRightSpan'style='color:"+data.data.list[index].labelFontColor+";border: 1px solid "+data.data.list[index].labelSolidColor+";float: left'><span class='labelRightA' style='color:"+data.data.list[index].labelFontColor+";float: left'>"+data.data.list[index].labelName+"</span><a class='labelRightAUp glyphicon glyphicon-arrow-up'style='padding-left:3px;color: "+data.data.list[index].labelFontColor+"'></a><a style='display: none'>"+data.data.list[index].id+"</a></div>")
    }
};

Note.insertSelectedLabel = function(data){
    $(".selectedLabelList").empty();
    for(var index in data.data){
        $(".selectedLabelList").append("<div class='labelRightSpan'style='color:"+data.data[index].labelFontColor+";border: 1px solid "+data.data[index].labelSolidColor+";float: left'><span class='labelRightA' style='color:"+data.data[index].labelFontColor+";float: left'>"+data.data[index].labelName+"</span><a class='glyphicon glyphicon-remove labelSelectDelete' style='padding-left:3px;color: "+data.data[index].labelFontColor+"'></a><a style='display: none'>"+data.data[index].id+"</a></div></div>")
}
};

//显示文件类型
Note.showType = function () {
    var pathName=window.document.location.pathname;
    var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
    $.ajax({
        type:'post',
        contentType:'application/json',
        dataType:'json',
        url:projectName+'/type/getList',
        data:JSON.stringify({}),
        success:function (data) {
            Note.insertType(data);
        }
    })
};
//隐藏选择文件类型
Note.hideType = function () {
    $("#typeSelectDiv2").fadeOut("fast");
};
//插入系列HTML
Note.insertType = function (data) {
    $("#typeInsertDiv2").empty();
    for(var index in data.data){
        $("#typeInsertDiv2").append("<div class='typeLeftDiv'style=';border: 1px solid #005cc5;float: left'><a class='typeLeftA2' style='float: left' id='"+data.data[index].id+"'>"+data.data[index].typeSuffix+"</a></div>")
    }
};
